Users of a client system may desire the ability to connect to external data sources over a network and to integrate external data from these external data sources into client applications, such as office productivity applications, executing on the client system. In this way, the users of the client system can view and interact with the external data through the client applications even when the client system is disconnected from the network. The external data sources may refer to data sources that are external to the client system. For example, a line-of-business (“LOB”) system external to the client system may contain a list of customers. A business user may desire to view and interact with the customer data offline through a personal management application executing on the client system.
Conventionally, end users may connect to the external data sources, such as the LOB system, through application program interfaces (“APIs”) provided by the external data sources. Through the APIs, the client system can retrieve external data from the external data sources via the network. However, the APIs typically assume online access and may not function when the client system is offline. In some cases, the APIs may not support user-defined processes for retrieving external data in an automated manner. The APIs also may not support user-defined processes for synchronizing data between the client system and the external data sources in an automated manner.
It is with respect to these considerations and others that the disclosure made herein is presented.